package com.rm.zeyou.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 
 * </p>
 *
 * @author YanYang
 * @since 2025-04-29 09:44:15
 */
@Getter
@Setter
@TableName("t_middle_notify")
@ApiModel(value = "MiddleNotify对象", description = "")
public class MiddleNotify implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("语音通知ID")
      @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty("订单号")
    @TableField("order_no")
    private String orderNo;

    @ApiModelProperty("呼叫标识")
    @TableField("call_id")
    private String callId;

    @ApiModelProperty("绑定 ID")
    @TableField("bindId")
    private String bindId;

    @ApiModelProperty("用户ID")
    @TableField("user_id")
    private Long userId;

    @ApiModelProperty("技师ID")
    @TableField("tid")
    private Long tid;

    @ApiModelProperty("小号")
    @TableField("display_number")
    private String displayNumber;

    @ApiModelProperty("主叫号码")
    @TableField("caller_number")
    private String callerNumber;

    @ApiModelProperty("被叫号码")
    @TableField("callee_number")
    private String calleeNumber;

    @ApiModelProperty("呼叫开始时间")
    @TableField("start_call_time")
    private String startCallTime;

    @ApiModelProperty("主叫接通时间")
    @TableField("caller_answered_time")
    private String callerAnsweredTime;

    @ApiModelProperty("被叫接通时间")
    @TableField("callee_answered_time")
    private String calleeAnsweredTime;

    @ApiModelProperty("结束时间")
    @TableField("end_time")
    private String endTime;

    @ApiModelProperty("主叫呼叫状态（0=正常 1=空号 2=用户忙 3=拒接 4=无人接听 5=无法接通 6=呼叫被拦截 7=关机 8=停机 9=其他 10=主叫挂机 11=被叫挂机 12=主叫放弃 13=小号状态异常 14=订单超期）")
    @TableField("caller_state")
    private Integer callerState;

    @ApiModelProperty("被叫呼叫状态（0=正常 1=空号 2=用户忙 3=拒接 4=无人接听 5=无法接通 6=呼叫被拦截 7=关机 8=停机 9=其他 10=主叫挂机 11=被叫挂机 12=主叫放弃 13=小号状态异常 14=订单超期）")
    @TableField("callee_state")
    private Integer calleeState;

    @ApiModelProperty("主叫通话时长（单位：秒）")
    @TableField("caller_duration")
    private Integer callerDuration;

    @ApiModelProperty("被叫通话时长（单位：秒）")
    @TableField("callee_duration")
    private Integer calleeDuration;

    @ApiModelProperty("时长（计费）（单位：秒）")
    @TableField("duration")
    private Integer duration;

    @ApiModelProperty("录音下载地址")
    @TableField("rec_url")
    private String recUrl;

    @ApiModelProperty("逻辑删除（0=未删除，1=已删除）")
    @TableField("is_delete")
    @TableLogic
    private Integer isDelete;

    @ApiModelProperty("创建时间")
      @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty("更新时间")
      @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;


}
